namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// An object that manages a group of {@link Ext.Window} instances and provides z-order management
	/// and window activation behavior.
	/// </summary>
	/// <definedin>src\widgets\WindowManager.js</definedin>
	[ScriptName("WindowGroup")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class WindowGroup
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		public WindowGroup()
		{
		}
		#endregion
		
		#region Properties
		/// <summary>
		/// The starting z-index for windows in this WindowGroup (defaults to 9000)
		/// The z-index value
		/// </summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		[ScriptName("zseed")]
		[IntrinsicProperty()]
		public System.Number Zseed
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>
		/// Registers a {@link Ext.Window Window} with this WindowManager. This should not
		/// need to be called under normal circumstances. Windows are automatically registered
		/// with a {@link Ext.Window#manager manager} at construction time.  Where this may be useful is moving Windows between two WindowManagers. For example,
		/// to bring the Ext.MessageBox dialog under the same manager as the Desktop&apos;s
		/// WindowManager in the desktop sample app:  
		/// var msgWin = Ext.MessageBox.getDialog();
		/// MyDesktop.getDesktop().getManager().register(msgWin);
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Registers a {@link Ext.Window Window} with this WindowManager. This should not
		/// need to be called under normal circumstances. Windows are automatically registered
		/// with a {@link Ext.Window#manager manager} at construction time.&lt;/p&gt;
		/// &lt;p&gt;Where this may be useful is moving Windows between two WindowManagers. For example,
		/// to bring the Ext.MessageBox dialog under the same manager as the Desktop&apos;s
		/// WindowManager in the desktop sample app:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;
		/// var msgWin = Ext.MessageBox.getDialog();
		/// MyDesktop.getDesktop().getManager().register(msgWin);
		/// &lt;/pre&gt;&lt;/code&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="win">The Window to register.</param>
		[ScriptName("register")]
		public void Register(ext.Window win)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Unregisters a {@link Ext.Window Window} from this WindowManager. This should not
		/// need to be called. Windows are automatically unregistered upon destruction.
		/// See {@link #register}.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Unregisters a {@link Ext.Window Window} from this WindowManager. This should not
		/// need to be called. Windows are automatically unregistered upon destruction.
		/// See {@link #register}.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="win">The Window to unregister.</param>
		[ScriptName("unregister")]
		public void Unregister(ext.Window win)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Hides all windows in this WindowGroup.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		[ScriptName("hideAll")]
		public void HideAll()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the currently-active window in this WindowGroup.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <returns>The active window</returns>
		[ScriptName("getActive")]
		public ext.Window GetActive()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets a registered window by id.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="id">The id of the window or a {@link Ext.Window} instance</param>
		[ScriptName("get")]
		public ext.Window Get(string id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets a registered window by id.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="id">The id of the window or a {@link Ext.Window} instance</param>
		[ScriptName("get")]
		public ext.Window Get(object id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Brings the specified window to the front of any other active windows in this WindowGroup.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="win">The id of the window or a {@link Ext.Window} instance</param>
		/// <returns>
		/// True if the dialog was brought to the front, else false
		/// if it was already in front
		/// </returns>
		[ScriptName("bringToFront")]
		public bool BringToFront(string win)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Brings the specified window to the front of any other active windows in this WindowGroup.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="win">The id of the window or a {@link Ext.Window} instance</param>
		/// <returns>
		/// True if the dialog was brought to the front, else false
		/// if it was already in front
		/// </returns>
		[ScriptName("bringToFront")]
		public bool BringToFront(object win)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sends the specified window to the back of other active windows in this WindowGroup.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="win">The id of the window or a {@link Ext.Window} instance</param>
		/// <returns>The window</returns>
		[ScriptName("sendToBack")]
		public ext.Window SendToBack(string win)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sends the specified window to the back of other active windows in this WindowGroup.</summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="win">The id of the window or a {@link Ext.Window} instance</param>
		/// <returns>The window</returns>
		[ScriptName("sendToBack")]
		public ext.Window SendToBack(object win)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns zero or more windows in this WindowGroup using the custom search function passed to this method.
		/// The function should accept a single {@link Ext.Window} reference as its only argument and should
		/// return true if the window matches the search criteria, otherwise it should return false.
		/// </summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="fn">The search function</param>
		/// <param name="scope">
		/// The scope (<c>this</c> reference) in which the function is executed. Defaults to the Window being tested.
		/// that gets passed to the function if not specified)
		/// </param>
		/// <returns>An array of zero or more matching windows</returns>
		[ScriptName("getBy")]
		public System.Array GetBy(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns zero or more windows in this WindowGroup using the custom search function passed to this method.
		/// The function should accept a single {@link Ext.Window} reference as its only argument and should
		/// return true if the window matches the search criteria, otherwise it should return false.
		/// </summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="fn">The search function</param>
		/// <returns>An array of zero or more matching windows</returns>
		[ScriptName("getBy")]
		public System.Array GetBy(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Executes the specified function once for every window in this WindowGroup, passing each
		/// window as the only parameter. Returning false from the function will stop the iteration.
		/// </summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="fn">The function to execute for each item</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to the current Window in the iteration.</param>
		[ScriptName("each")]
		public void Each(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Executes the specified function once for every window in this WindowGroup, passing each
		/// window as the only parameter. Returning false from the function will stop the iteration.
		/// </summary>
		/// <definedin>src\widgets\WindowManager.js</definedin>
		/// <param name="fn">The function to execute for each item</param>
		[ScriptName("each")]
		public void Each(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
